DSFX.Tweenie = function( el, style, origin, conclusion, tween )
{
	this.element = DSFX.util.$(el);
	this.property = style;
	this.original = new DSFX.Color( origin );
	if ( false )//original.ok )
	{
		this.newColor = new Color( conclusion );
		tween.tweenies.push(this.color);
	}
	else if ( !isNaN( parseFloat( origin ) ) )
	{
		this.suffix = DSFX.util.unit( origin );
		this.origin = parseFloat( origin );
		this.conclusion = parseFloat( conclusion );
        this.distance = this.conclusion - this.origin;
		tween.tweenies.push( DSFX.util.fix( this, this.range ) );
	}
};

DSFX.Tweenie.prototype =
{
	color: function( value ) 
    {
		var color = new Color();
        color.r = ( this.original.r + ( ( this.newColor.r - this.original.r ) * value ) );
        color.g = ( this.original.g + ( ( this.newColor.g - this.original.g ) * value ) );
        color.b = ( this.original.b + ( ( this.newColor.b - this.original.b ) * value ) );
        this.element.style[ this.property ] = color.hex();
    },
	
	range: function( value )
	{
        this.element.style[ this.property ] = ( this.origin + ( this.distance * value ) + this.suffix );
	},
	
	opacity: function( value )
	{
		this.element.style;
	}
};